Each erase block of a flash storage device has a limited number of writes.
Firmware of such device may evenly use each erase block by leveraging wear-leveling techniques to prevent any erase block from being worn out prematurely than others. Thus, limited write amount is posed to such device. When a same write pattern of I/O is applied to a group of brand-new flash storage devices, it is highly possible that all devices in the group may have one or more than one blocks to be entirely worn out within a short period. Some other devices may be worn out before data reconstruction finishes and thus thereby result in permanent data corruption.
Take a RAID 1 array as an example, write data is mirrored to each member device of the RAID 1 array, either in a sequential or random access mode. Hence, multiple flash storage devices having same capacity, model number, firmware version with concurrent initial usage would be likely all worn out within a short time span. Such issue would also happen in N-way mirroring arrays or RAID 10 arrays. As for RAID 5 arrays and RAID 6 arrays, if each write is stripe-aligned, each flash device would be subjected to a same write I/O pattern and would be possibly worn out concurrently. Moreover, since commonly-used file systems, such as EXT4 and XFS, would permit the data extent size to be equal to the stripe size, same issue would more likely happen.
Some existing RAID 5 schemes would prevent the disks from concurrently being worn out by distributing parity blocks unevenly. However, such approach may be suitable for random writes, but not for stripe-aligned writes. The reason behind is that the data amount and the data write I/O pattern for each physical flash storage device would be the same under stripe-aligned write, and thus it does not prevent the flash storage devices in an array from concurrently being worn out when the whole stripe is written.